/**
 * 项目名：	Rumba Plan
 * 
 * 版权所有(C)，上海海鼎信息工程股份有限公司，2006，所有权利保留。
 * 
 * 文件名：	RoleFilter.java
 * 模块说明：	
 * 修改历史：
 * 2006-8-30 - lxm - 创建。
 */
package com.hd123.rumba.action.user;

/**
 * 角色筛选条件 | 界面数据对象
 * 
 * @author lxm
 * 
 */
public class RoleFilter {

  /** 代码类似于 */
  private String codeLike = null;

  /** 名称类型于 */
  private String nameLike = null;

  /**
   * 输出查询条件。输出格式为javascript（RQuery控件）。
   * 
   * @param qryName
   *          RQuery控件javascript变量名。
   * @param alias
   *          组织表对应的别名。
   * @return 以字符串形式返回相应的javascript语句。
   */
  public String toJSForRQuery(String qryName, String alias) throws Exception {
    StringBuffer sb = new StringBuffer();
    sb.append("var sce = new RSCE();\n");
    sb.append("sce.operator = RSCE.VALUE_OPERATOR_AND;\n");

    if (codeLike != null) {
      String condition = "\"" + alias + ".code like ?\"";
      String parameterValue = "\"" + codeLike + "\"";
      sb.append("sce.append(RSCE.cond(" + condition + ", " + parameterValue
          + ", RSCE.WC_RIGHT));\n");
    }
    if (nameLike != null) {
      String condition = "\"" + alias + ".name like ?\"";
      String parameterValue = "\"" + nameLike + "\"";
      sb
          .append("sce.append(RSCE.cond(" + condition + ", " + parameterValue
              + ", RSCE.WC_BOTH));\n");
    }

    sb.append("if (isDefined(sce.parameters))\n");
    sb.append("  " + qryName + ".setWhere(sce);\n");
    return sb.toString();
  }

  public String getCodeLike() {
    return codeLike;
  }

  public void setCodeLike(String codeLike) {
    this.codeLike = codeLike;
  }

  public String getNameLike() {
    return nameLike;
  }

  public void setNameLike(String nameLike) {
    this.nameLike = nameLike;
  }

}
